Automatic Generation of a Software Performance Model Using an Object-Oriented Prototype

نویسندگان

  • Curtis E. Hrischuk
  • Jerome A. Rolia
  • C. Murray Woodside
چکیده

Early performance estimates for a new software system aid the design process by providing feedback when design decisions can be easily revised. Unfortunately, constructing a performance model of a distributed and concurrent software system can require significant effort. We propose an approach that reduces the model building effort by providing easy specification of performance test cases, empirical estimates for model parameters, automated model generation, and support for different types of models. A prototype is used to describe an object-based system, for which causal traces (angio traces) are recorded during execution. The traces are then processed into sequences of resource demands (workthreads), aggregated into system execution descriptions (workthread classes), and combined to generate performance models. The technique can also be applied at other stages of the development process, including the redesign of existing software. It should be possible to study a new software system's performance behavior under alternative designs and scenarios, especially at an early stage when design decisions can be easily revised. As the design evolves, increasing detail should be easily incorporated into the performance model to allow more complex performance concerns to be examined. We propose a prototype based approach that has these qualities. The two main approaches to combining software design and performance engineering are empirical and predictive. The fully empirical approach is to implement the system in some form, measure its performance, and then (if necessary) modify the software. The predictive approach, as described by Smith in [22] and [23], derives a model of software execution patterns (called an execution graph) from the design, constructs a second model to solve for performance predictions, and then uses the predictions to guide the modification of the design. This gives earlier warnings and supports more effective adjustments, which can be followed by an empirical study of the completed software. A weakness of the predictive approach arises in determining the performance parameters of the execution graph, without an implementation as a guide. Experience can be a help, and Smith provides guidelines for assigning values, but this has limitations. To derive the parameters the software execution path needs to be examined. This is difficult to do in object-based systems because it is obscured by polymorphism, inheritance, and class structures. The performance parameters may also depend on system data values that interact in complex ways which are difficult to predict and are resolved only during execution. This is particularly true of what we …

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Availability evaluation of Software architecture of object oriented Style using coloured Petri nets

Software architecture is one of the most fundamental products in the process of software development in the areas of behavioral or non- behavioral features like availability or transformability change. There are different ways to evaluate software architecture one of which is the creation of application model. An executable model of software architecture is an official description of architectu...

متن کامل

Object-Oriented Method for Automatic Extraction of Road from High Resolution Satellite Images

As the information carried in a high spatial resolution image is not represented by single pixels but by meaningful image objects, which include the association of multiple pixels and their mutual relations, the object based method has become one of the most commonly used strategies for the processing of high resolution imagery. This processing comprises two fundamental and critical steps towar...

متن کامل

On Attributes of Objects in Object-Oriented Software Analysis

One of the modern paradigms to develop a system is object oriented analysis and design. In this paradigm, there are several objects and each object plays some specific roles. There is a sequence of activities to develop an analysis model. In the first step, we work in developing an initial use case model. Then in the second step, they identify a number of concepts and build a glossary of partic...

متن کامل

Modelsaz: An Object-Oriented Computer-Aided Modeling Environment

Modeling and simulation of processing plants are widely used in industry. Construction of a mathematical model for a plant is a time-consuming and error-prone task. In light of extensive advancements in computer science (both hardware and software), computers are becoming a necessary instrument in industrial activities. Many software tools for modeling, simulation and optimization of proces...

متن کامل

Visual Tracking using Learning Histogram of Oriented Gradients by SVM on Mobile Robot

The intelligence of a mobile robot is highly dependent on its vision. The main objective of an intelligent mobile robot is in its ability to the online image processing, object detection, and especially visual tracking which is a complex task in stochastic environments. Tracking algorithms suffer from sequence challenges such as illumination variation, occlusion, and background clutter, so an a...

متن کامل

Combining Formal Specifications with Design by Contract

In this paper, we present an approach to the object-oriented software development which is based on: i) automatic generation of a throwaway prototype from the initial specification in a formal, declarative, object-oriented specification language, ii) validation of user requirements and refinement of the specification by using this prototype, and iii) automatic translation from the validated spe...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1995